package com.qlk.odcinterface.service;

import java.util.List;

import com.qlk.odcinterface.domain.PmsProductPromotionItem;
import com.qlk.odcinterface.domain.query.PmsProductPromotionItemQuery;
import com.qlk.common.utils.page.PageUtil;

/**
 * PmsProductPromotionItemService接口
 * 
 * @author zhaoyanan
 * @version 2016-4-14 13:22:58
 * 
 */
public interface PmsProductPromotionItemService {

    /**
     * 批量增加对象信息
     * 
     * @param pmsProductPromotionItemList
     * @return
     */
    public boolean insert(List<PmsProductPromotionItem> pmsProductPromotionItemList);

    /**
     * 单个增加对象信息
     * 
     * @param pmsProductPromotionItem
     * @return
     */
    public boolean insert(PmsProductPromotionItem pmsProductPromotionItem);

    /**
     * 更新 对象信息
     * 
     * @param pmsProductPromotionItem
     *            对象信息对象
     * @return false：失败 true：成功
     */
    public boolean update(PmsProductPromotionItem pmsProductPromotionItem);

    /**
     * 根据查询Bean获取对象集合，无翻页
     * 
     * @param queryBean
     * @return
     */
    public List<PmsProductPromotionItem> queryPmsProductPromotionItemList(PmsProductPromotionItemQuery queryBean);

    /**
     * 根据查询Bean获取对象集合，带翻页
     * 
     * @param queryBean
     * @param pageUtil
     * @return
     */
    public List<PmsProductPromotionItem> queryPmsProductPromotionItemListWithPage(PmsProductPromotionItemQuery queryBean,
            PageUtil pageUtil);

    /**
     * 根据主键删除对象信息，该处做的是逻辑删除
     * 
     * @param pmsProductPromotionItem
     *            　
     * @return
     */
    public boolean delete(PmsProductPromotionItem pmsProductPromotionItem);
    /**
     * 根据单品促销活动id删除对象信息，该处做的是物理删除
     * 
     * @param pmsProductPromotionItem
     *            　
     * @return
     */
    public boolean deletePmsProductPromotionItem(PmsProductPromotionItem pmsProductPromotionItem);

    /**
     * 根据主键获取对象信息
     * 
     * @param id
     *            主键字段
     * @return 对象信息
     */
    public PmsProductPromotionItem getPmsProductPromotionItemById(Long id);

    /**
     * 根据主键集合批量删除对象信息，该处做的是逻辑删除
     * 
     * @param pmsProductPromotionItems
     *            PmsProductPromotionItem集合
     * @return
     */
    public boolean delete(PmsProductPromotionItem[] pmsProductPromotionItems);
}
